package pers.mine.dao;

import java.util.List;

import pers.mine.nook.QueryHandler;
import pers.mine.po.FrontComment;
import pers.mine.po.FrontDanmaku;
import pers.mine.po.FrontHateWord;
import pers.mine.po.FrontTask;
import pers.mine.po.FrontUser;
import pers.mine.po.FrontVideo;
import pers.mine.po.SysResource;
import pers.mine.po.SysRole;
import pers.mine.po.SysUser;

/**
 * 封装 一些表的特殊查询
 * 
 * @author Mine
 * @since 2016年11月27日_下午4:00:09
 */
public interface QueryMapper {

	/**
	 * 条件获取系统用户信息
	 */
	List<SysUser> querySysUser(QueryHandler queryHandler);

	/**
	 * 条件获取系统角色信息
	 */
	List<SysRole> querySysRole(QueryHandler queryHandler);
	
	/**
	 * 条件获取系统资源信息
	 */
	List<SysResource> querySysResource(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台用户信息
	 */
	List<FrontUser> queryFrontUser(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台视频信息
	 */
	List<FrontVideo> queryFrontVideo(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台弹幕信息
	 */
	List<FrontDanmaku> queryFrontDanmaku(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台评论信息
	 */
	List<FrontComment> queryFrontComment(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台任务信息
	 */
	List<FrontTask> queryFrontTask(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台屏蔽关键字信息
	 */
	List<FrontHateWord> queryFrontHateWord(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台收藏夹对应视频信息
	 */
	List<FrontVideo> queryFavoriteVideos(QueryHandler queryHandler);
	
	/**
	 * 条件获取前台收藏夹对应视频信息
	 */
	List<FrontUser> queryFavoriteUsers(QueryHandler queryHandler);
	
	/**
	 * 获取上次limit查询记录总数
	 */
	long findLastRows();
}
